package cagt.tools.probability;

/**
 * Interfejs iteratora, kt�ry mo�na zresetowa� - czyli ustawi� do stanu
 * pocz�tkowego. Iterator ten s�u�y jedynie do przegl�dania - pozbawiony jest
 * opcji usuwania element�w.
 * 
 * @author Konrad Sza�kowski
 * 
 * @param <T>
 *            Typ element�w do kt�rych przegl�dania u�ywany jest ten iterator.
 */
public interface ResetIterator<T> {
	/**
	 * Resetuje iterator w pozycj� pocz�tkow�.
	 */
	public void reset();

	/**
	 * Zwraca true, je�li wywo�anie next nie rzuci wyj�tku.
	 */
	public boolean hasNext();

	/**
	 * Nast�pny wynik dzia�ania iteratora
	 */
	public T next();
}
